perm filename SERVO.DOC[CMS,LCS]1 blob sn#432027 filedate 1979-04-10 generic text, type T, neo UTF8
00100		JOINT SERVO INTERFACE.
00200	
00300	HOST - JOINT COMMUNICATION.
00400	
00500	Host - joint interface.
00600		The host - joint interface is a standard LSI 11 parallel
00700	interface which is connected through another board to each
00800	joint processor's memory.
00900	 
01000	CSR0.
01100		The CSR0 bit is the address/data bit for I/O transfers to
01200	and from the joint processors memory. 0 for address and 1 for data.
01300	
01400	CSR1.
01500		The CSR1 bit is the read/write bit for I/O to the joint
01600	processors memory. 0 for read and 1 for write.
01700	
01800	DRINBUF.
01900		The input buffer is used to read data from a joint's memory
02000	when a joint is addressed and CSR1 is not set. This buffer is also
02100	used for the same functions as the earlier board (XIN, INTOL, ATTN REQ,
02200	etc.) .
02300	
02400	DROUTBUF.
02500		When CSR0 is 0 the output buffer is used to address the memory
02600	and select the joint. Bits 0 through 2 select the joint, and bits
02700	8 through 13 are the complement of the memory address. Bit 3, when
02800	set, enables the joint select counter.
02900		When CSR0 is 1 the output buffer is used to write data to the
03000	selected joint's memory.
03100		The output buffer also is used for other functions as in the
03200	earlier board (XOUT, etc.) .
     

00100		SHARED MEMORY DEFINITIONS.
00200	
00300	STATUS:	77000
00400		The status word is not being used.
00500	
00600	MODE:	76000
00700		Bit 15 of the mode word is the servo enable bit. It must be
00800	set before the joint will accept a position command.
00900		Bit 14 is the integrator enable bit.
01000		Bit 13 is the LSB servo enable bit.
01100		All other bits are undefined.
01200	
01300	CKWORD:	75000
01400		This word is cleared by the joint on reset and when writen by
01500	the host is used as a command. After being read by the joint, the joint
01600	clears it to handshake with the host.
01700		There are only two valid commands so far. 176403 is a no-op
01800	and 177401 is the position command. Before a position command is
01900	writen the servo must be enabled in the MODE word and the new position
02000	must be writen in the CMDPOS word.
02100		Invalid commands cause the joint processor to do a reset.
02200	
02300	CMDPOS:	74000
02400		This word is used for the new position value in a position
02500	command.
02600	
02700	IOCTRL:	73000
02800		This word is a copy of the JCR output port in bits 8 through
02900	15. IOCTRL is read only. Bit 10 is the position mode bit which, when
03000	cleared, puts the joint in free mode (setpoint equals encoder) .
03100	
03200	CURPOS:	72000
03300		This is the current position from the encoder.
03400	
03500	The rest of the shared memory words serve the same function as
03600	in the earlier servo.
03700	
03800	NINTER:	71000	Bits 8 through 15.
03900	INTSCL:	70000	Bits 8 through 15.
04000	HSTLIM:	67000	Bits 8 through 15.
04100	
04200	FRICTN:	66000	Floating point.
04300	GRAVTY:	65000
04400	POSTOL:	64000
04500	INTTOL:	63000